home *** CD-ROM | disk | FTP | other *** search
- @c Copyright (C) 1996, 1997 John W. Eaton
- @c This is part of the Octave manual.
- @c For copying conditions, see the file gpl.tex.
-
- @node Preface, Introduction, Top, Top
- @unnumbered Preface
- @cindex contributors
- @cindex history
-
- Octave was originally intended to be companion software for an
- undergraduate-level textbook on chemical reactor design being written by
- James B. Rawlings of the University of Wisconsin-Madison and John
- G. Ekerdt of the University of Texas.
-
- Clearly, Octave is now much more than just another `courseware' package
- with limited utility beyond the classroom. Although our initial goals
- were somewhat vague, we knew that we wanted to create something that
- would enable students to solve realistic problems, and that they could
- use for many things other than chemical reactor design problems.
-
- There are those who would say that we should be teaching the students
- Fortran instead, because that is the computer language of engineering,
- but every time we have tried that, the students have spent far too much
- time trying to figure out why their Fortran code crashes and not enough
- time learning about chemical engineering. With Octave, most students
- pick up the basics quickly, and are using it confidently in just a few
- hours.
-
- Although it was originally intended to be used to teach reactor design,
- it has been used in several other undergraduate and graduate
- courses in the Chemical Engineering Department at the University of
- Texas, and the math department at the University of Texas has been using
- it for teaching differential equations and linear algebra as well. If
- you find it useful, please let us know. We are always interested to
- find out how Octave is being used in other places.
-
- Virtually everyone thinks that the name Octave has something to do with
- music, but it is actually the name of a former professor of mine who
- wrote a famous textbook on chemical reaction engineering, and who was
- also well known for his ability to do quick `back of the envelope'
- calculations. We hope that this software will make it possible for many
- people to do more ambitious computations just as easily.
-
- Everyone is encouraged to share this software with others under the
- terms of the GNU General Public License (@pxref{Copying}) as described
- at the beginning of this manual. You are also encouraged to help make
- Octave more useful by writing and contributing additional functions for
- it, and by reporting any problems you may have.
-
- @menu
- * Acknowledgements::
- * How You Can Contribute to Octave::
- * Distribution::
- @end menu
-
- @node Acknowledgements, How You Can Contribute to Octave, Preface, Preface
- @unnumberedsec Acknowledgements
- @cindex acknowledgements
-
- Many people have already contributed to Octave's development. In
- addition to John W. Eaton, the following people have helped write parts
- of Octave or helped out in various other ways.
-
- @c Once lp_solve has been added, don't forget to include the lp_solve
- @c author, and Kantor, for providing an example.
-
- @itemize @bullet
- @item
- Thomas Baier @email{baier@@ci.tuwien.ac.at} wrote the original versions
- of @code{popen}, @code{pclose}, @code{execute}, @code{sync_system}, and
- @code{async_system}.
-
- @item
- Karl Berry @email{karl@@cs.umb.edu} wrote the @code{kpathsea} library
- that allows Octave to recursively search directory paths for function
- and script files.
-
- @item
- Georg Beyerle @email{gbeyerle@@awi-potsdam.de} contributed code to save
- values in @sc{Matlab}'s @file{.mat}-file format, and has provided many
- useful bug reports and suggestions.
-
- @item
- John Campbell @email{jcc@@bevo.che.wisc.edu} wrote most of the file and
- C-style input and output functions.
-
- @item
- Brian Fox @email{bfox@@gnu.ai.mit.edu} wrote the @code{readline} library
- used for command history editing, and the portion of this manual that
- documents it.
-
- @item
- Klaus Gebhardt @email{gebhardt@@crunch.ikp.physik.th-darmstadt.de}
- ported Octave to OS/2 and worked with Michel Juillard
- @email{juillard@@msh-paris.fr} on the port to DOS.
-
- @item
- A. Scottedward Hodel @email{A.S.Hodel@@eng.auburn.edu} contributed a number
- of functions including @code{expm}, @code{qzval}, @code{qzhess},
- @code{syl}, @code{lyap}, and @code{balance}.
-
- @item
- Kurt Hornik @email{Kurt.Hornik@@ci.tuwien.ac.at} provided the
- @code{corrcoef}, @code{cov}, @code{fftconv}, @code{fftfilt}, @code{gcd},
- @code{lcd}, @code{kurtosis}, @code{null}, @code{orth}, @code{poly},
- @code{polyfit}, @code{roots}, and @code{skewness} functions, supplied
- documentation for these and numerous other functions, rewrote the Emacs
- mode for editing Octave code and provided its documentation, and has
- helped tremendously with testing. He has also been a constant source of
- new ideas for improving Octave.
-
- @item
- Phil Johnson @email{johnsonp@@nicco.sscnet.ucla.edu} has helped to make
- Linux releases available.
-
- @item
- Michel Juillard @email{juillard@@msh-paris.fr} ported Octave to DOS
- systems.
-
- @item
- Friedrich Leisch @email{leisch@@ci.tuwien.ac.at} provided the
- @code{mahalanobis} function.
-
- @item
- Ken Neighbors @email{wkn@@leland.stanford.edu} has provided many useful
- bug reports and comments on @sc{Matlab} compatibility.
-
- @item
- Rick Niles @email{niles@@axp745.gsfc.nasa.gov} rewrote Octave's plotting
- functions to add line styles and the ability to specify an unlimited
- number of lines in a single call. He also continues to track down odd
- incompatibilities and bugs.
-
- @item
- Mark Odegard @email{meo@@sugarland.unocal.com} provided the initial
- implementation of @code{fread}, @code{fwrite}, @code{feof}, and
- @code{ferror}.
-
- @item
- Tony Richardson @email{tony@@guts.biomed.uakron.edu} wrote Octave's
- image processing functions as well as most of the original polynomial
- functions.
-
- @item
- R. Bruce Tenison @email{Bruce.Tenison@@eng.auburn.edu} wrote the
- @code{hess} and @code{schur} functions.
-
- @item
- Teresa Twaroch @email{twaroch@@ci.tuwien.ac.at} provided the functions
- @code{gls} and @code{ols}.
-
- @item
- Andreas Weingessel @email{Andreas.Weingessel@@ci.tuwien.ac.at} wrote the
- audio functions @code{lin2mu}, @code{loadaudio}, @code{mu2lin},
- @code{playaudio}, @code{record}, @code{saveaudio}, and @code{setaudio}.
-
- @item
- Fook Fah Yap @email{ffy@@eng.cam.ac.uk} provided the @code{fft} and
- @code{ifft} functions and valuable bug reports for early versions.
- @end itemize
-
- Special thanks to the following people and organizations for
- supporting the development of Octave:
-
- @itemize @bullet
- @item
- Digital Equipment Corporation, for an equipment grant as part of their
- External Research Program.
-
- @item
- Sun Microsystems, Inc., for an Academic Equipment grant.
-
- @item
- International Business Machines, Inc., for providing equipment as part
- of a grant to the University of Texas College of Engineering.
-
- @item
- Texaco Chemical Company, for providing funding to continue the
- development of this software.
-
- @item
- The University of Texas College of Engineering, for providing a
- Challenge for Excellence Research Supplement, and for providing an
- Academic Development Funds grant.
-
- @item
- The State of Texas, for providing funding through the Texas
- Advanced Technology Program under Grant No. 003658-078.
-
- @item
- Noel Bell, Senior Engineer, Texaco Chemical Company, Austin Texas.
-
- @item
- James B. Rawlings, Professor, University of Wisconsin-Madison,
- Department of Chemical Engineering.
-
- @item
- Richard Stallman, for writing GNU.
- @end itemize
-
- This project would not have been possible without the GNU software used
- in and used to produce Octave.
-
- @node How You Can Contribute to Octave, Distribution, Acknowledgements, Preface
- @unnumberedsec How You Can Contribute to Octave
- @cindex contributing to Octave
- @cindex funding Octave development
-
- There are a number of ways that you can contribute to help make Octave a
- better system. Perhaps the most important way to contribute is to write
- high-quality code for solving new problems, and to make your code freely
- available for others to use.
-
- If you find Octave useful, consider providing additional funding to
- continue its development. Even a modest amount of additional funding
- could make a significant difference in the amount of time that is
- available for development and support.
-
- If you cannot provide funding or contribute code, you can still help
- make Octave better and more reliable by reporting any bugs you find and
- by offering suggestions for ways to improve Octave. @xref{Trouble}, for
- tips on how to write useful bug reports.
-
- @node Distribution, , How You Can Contribute to Octave, Preface
- @unnumberedsec Distribution
- @cindex distribution of Octave
-
- Octave is @dfn{free} software. This means that everyone is free to
- use it and free to redistribute it on certain conditions. Octave is not
- in the public domain. It is copyrighted and there are restrictions on
- its distribution, but the restrictions are designed to ensure that
- others will have the same freedom to use and redistribute Octave that
- you have. The precise conditions can be found in the GNU General Public
- License that comes with Octave and that also appears in @ref{Copying}.
-
- Octave is available on CD-ROM with various collections of other free
- software, and from the Free Software Foundation. Ordering a copy of
- Octave from the Free Software Foundation helps to fund the development
- of more free software. For more information, write to
-
- @quotation
- Free Software Foundation@*
- 59 Temple Place---Suite 330@*
- Boston, MA 02111--1307@*
- USA
- @end quotation
-
- Octave is also available on the Internet from
- @url{ftp://ftp.che.wisc.edu/pub/octave}, and additional information is
- available from @url{http://www.che.wisc.edu/octave}.
-